package com.reformer.commons.constant;

import lombok.Getter;

/**
 * 错误提示
 *
 * @author Administrator
 */
public enum ErrorMsg {
    // open api
    LACK_PARAMS("101", "缺少参数"), //
    INVALID_PARAMS("102", "无效参数"), //
    MISSING_ID("103", "缺少参数id"), //
    MISSING_CMD("104", "缺少参数cmd"), //
    INVALID_CMD("105", "无效的cmd"), //
    MISSING_DATA("106", "缺少参数data"), //
    MISSING_SIGN("107", "缺少参数sign"), //
    MISSING_ONCESTR("108", "缺少参数onceStr"), //
    ONCESTR_LENGTH_EXCEED_LIMIT("109", "onceStr长度在32位之内"), //
    MISSING_TIMESTAMP("110", "缺少参数timestamp"), //
    TIMESTAMP_FORMAT_ERROR("111", "timestamp格式错误"), //
    MISSING_VER("112", "缺少参数ver"), //
    MISSING_MCHID("113", "缺少参数mchId"), //
    MCHID_NOTEXIST("114", "mchId不存在"), //
    MISSING_PARKINGLOTNO("115", "缺少参数parkinglotno"), //
    PARKINGLOTNO_NOTEXIST("116", "parkinglotno不存在"), //

    REQUIRE_POST_METHOD("120", "请使用post方法"), //
    POST_DATA_EMPTY("121", "post数据为空"), //
    NOT_UTF8("122", "编码格式错误"), //
    DATA_FORMAT_ERROR("123", "数据格式错误"), //
    TOTALCOUNT_LESS_THAN_FREECOUNT("124", "总车位数小于空闲车位数"), //

    INSUFFICIENT_PERMISSIONS("131", "权限不足"), //
    PERMISSION_EXPIRED("132", "权限过期"), //
    NOAUTH("133", "商户未认证"), //
    APIKEY_DISABLED("134", "开发者key被禁用"), //

    SYSTEM_ERROR("140", "系统错误"), //

    SUCCESS("200", "SUCCESS"),
    IP_NOT_WITHIN_WHITELIST("300", "IP不在白名单之内"),
    // 权限登录4xx
    ILLEGAL_PARAMETER("400", "参数不合法"),//
    UNAUTHORIZED("401", "Unauthorized"),//
    ILLEGAL_OPERATION("402", "非法操作"),//
    // 用户操作产生的错误5xx
    SMSCODE("500", "手机验证码输入错误"), //
    CODE("501", "验证码输入错误"), //
    PHONE_FORMAT("502", "手机号格式错误"), //
    PHONE_NOTEXIST("503", "手机号未注册"), //
    PHONE_EXIST("504", "手机号已经注册"), //
    USERNAME_NOTEXIST("505", "用户名未注册"), //
    USERNAME_EXIST("506", "用户名已经注册"), //
    PASSWORD_FORMAT("507", "密码格式错误"), //
    PASSWORD("508", "密码错误"), //
    USERNAME_OR_PASSWORD("509", "用户名或者密码错误"), //
    EMAIL_NOTEXIST("510", "邮箱未注册"), //
    EMAIL_EXIST("511", "邮箱已经注册"), //
    SMSCODE_EXPIRE("512", "手机验证码失效"), //
    CODE_EXPIRE("513", "验证码失效"), //
    PLATENO_FORMAT("514", "车牌号格式错误"), //
    PLATENO_EXCEEDLIMIT("515", "最多只能绑定3个车牌"), //
    PLATENO_EXIST("516", "车牌号已存在"), //
    PARKING_EXIST("517", "车位已存在"), //
    PARKING_NOTEXIST("518", "车位不存在"), //
    NOPARKING_OR_NOTEXIST("519", "车位不存在或当前车位未停车"), //
    NOTEXIST_OF_PARKINGORPLATENO("520", "车牌或者车位不存在"), //
    SAME_OLDNEW_PASSWORD("521", "新密码不能和旧密码相同"), //
    OPERATION_FREQUENCY("522", "操作太频繁"), //
    OPERATION_FAILED("523", "操作失败"), //
    NOTEXIST_OF_PARKINGRECORD("524", "停车记录不存在"), //
    ACCOUNT_NOTEXIST("525", "账户不存在"), //
    ACCOUNT_ALREADY_EXIST("526", "账户已存在"), //
    SAME_OF_OLD_AND_NEW_PASSWORD("527", "新旧密码不能相同"), //
    EMAIL_FORMAT_ERROR("528", "邮箱格式错误"), //
    ACCOUNT_NOT_ACTIVATED("529", "账号未激活"), //
    ACTIVATE_CODE_EXPIRED("530", "激活码失效"), //
    EMAIL_CODE_ERROR("531", "邮箱验证码错误"), //
    CODE_NOTEXIST_OR_EXPIRED("532", "验证码不存在或已失效"), //
    FILE_TYPE_ERROR("533", "文件类型错误"), //
    DUPLICATE_DATA("534", "数据重复"), //
    BINDCARD_EXCEEDLIMIT("535", "最多关联3张卡片"),
    CARD_BINDED("536", "卡已被绑定"),
    CARD_NOTEXIST("537", "卡不存在"),
    NO_DATA_FOUND("538", "未找到记录"),
    NICKNAME_FORMAT_ERROR("539", "昵称格式错误"),

    SEND_FAILED("540", "发送失败"),
    ILLEGAL_CHANNEL("541", "非法通道"),
    FILE_EMPTY("542", "文件内容为空"),
    FILE_FORMAT_ERROR("543", "文件内容格式错误"),
    FILE_NAME_ERROR("544", "文件名错误"),
    FILE_NOT_UPLOAD("545", "文件未上传"),
    DIRECTORY_CREATE_FAILED("546", "文件目录创建失败"),
    CANT_DELETE_BY_ALREADY_REFERENCE("547", "无法删除[该数据已被关联]"),

    // 服务器错误6xx
    SERVER_ERROR("600", "服务器内部错误"), //
    SYSTEM_BUSY("601", "系统繁忙，请稍后再试"), //
    CALCFEE_FAILED("603", "计费出错"), //
    // 支付相关提示7xx
    SIGN_ERROR("701", "签名错误"), //
    UNAUTH_THIRDPART("702", "第三方未授权"), //
    UNAUTH_WECAHT("703", "请先进行微信授权"), //
    UNAUTH_ALIPAY("704", "请先进行支付宝授权"), //
    ORDER_PAYING("705", "订单正在支付，请在3分钟后再次发起付款"), //
    UNSUPPORTED_PAYTYPE("706", "暂不支持该付款方式"), //
    DUPLICATE_PAYMENT("707", "请勿重复付款"), //
    PREORDER_FAILED("708", "预下单失败"), //
    DUPLICATE_NOTIFY("709", "重复通知"), //
    NOTEXIST_OF_ORDER("710", "订单不存在或已过期"), //
    PAY_FAILED("711", "支付失败"), //
    INVALID_PAYMENT_AMOUNT("712", "支付金额有误"), //
    UNSUPPORTED_CARD_TYPE("713", "暂不支持该卡类型"), //
    BALANCE_NOT_ENOUGH("714", "余额不足"),//
    UNKNOWN_PAYMENT_RESULT("715", "支付结果未知"),//请稍后调用被扫订单结果查询API，查询当前订单状态，并根据订单的状态决定下一步的操作
    CANCELORDER_FAILED("716", "取消订单失败"), //
    UPLOAD_FAILED("717", "上传失败"), //
    AUTHCODE_EXPIRE("720", "授权码过期"), //
    AUTHCODE_INVALID("721", "授权码无效"), //
    TXNPASSWORD_NOT_SET("722", "未设置交易密码"), //
    UNPAID("723", "未支付"),//原711，门户网站引用

    COMPANY_INFO_NOT_UPLOADED("800", "请上传企业资料"), //
    COMPANY_INFO_NOT_AUDITED("801", "企业资料未通过审核"), //
    COMPANY_INFO_AUDITING("802", "企业资料正在审核中"),//
    EXPIREDDATE_LTE_TODAY("803", "有效期必须大于当天日期"),//
    //微信公众号
    WECHAT_UNAUTHORIZED("810", "微信未授权"),
    UNBOUND_WECHAT("810", "未绑定微信"),
    WECHAT_GRANT_FAILD("811", "微信授权失败"),

    ORDER_EXPIRED("821", "订单已过期"),
    REFUND_AMOUNT_TOO_LARGE("822", "退款失败：退款金额不能大于订单金额"),
    WALLET_BALANCE_ISNOT_ZERO("823", "钱包余额不为0，无法销户"),
    WALLET_STATE_ERROR("824", "钱包状态异常"),
    TRADE_TYPE_ERROR("825", "交易类型有误"),
    CANNOT_TRADE_BECAUSE_ORDER_STATE_ERROR("826", "交易失败：订单状态异常"),
    CANNOT_REFUND_BECAUSE_ORDER_STATE_ERROR("827", "退款失败：订单状态异常"),
    CANNOT_REFUND_BECAUSE_OUTOFDATE("827", "退款失败：不在退款期限内");

    @Getter
    private String errno;
    @Getter
    private String errmsg;

    ErrorMsg(String errno, String errmsg) {
        this.errno = errno;
        this.errmsg = errmsg;
    }
}
